home *** CD-ROM | disk | FTP | other *** search
/ FM Towns: Free Software Collection 10 / FM Towns Free Software Collection 10.iso / ms_dos / tool / dbench / softtime / waitkey.asm < prev   
Assembly Source File  |  1995-01-23  |  813b  |  57 lines

  1.     .MODEL SMALL,C
  2.     .CODE
  3.  
  4. ST_waitkey PROC uses si di,arg1:dword
  5.     mov    di,word ptr [arg1][2]
  6.     mov    si,word ptr [arg1][0]
  7.  
  8. lp:    mov    ah,0bh
  9.     int    21h
  10.     or    al,al
  11.     jnz    over    ;キーを押すと抜ける
  12.  
  13.     mov    ah,2ch
  14.     int    21h
  15.     sub    si,1
  16.     jz    @f
  17.     sbb    di,0
  18.     jmp    lp
  19. @@:    or    di,di
  20.     jnz    lp    ;SI=DI=0 になるまで
  21. over:    mov    ax,0c00h
  22.     int    21h    ;キーバッファクリア
  23.     ret
  24. ST_waitkey ENDP
  25.  
  26. ST_getcallpskey PROC uses si di
  27. start:    mov    ax,0c00h
  28.     int    21h    ;キーバッファクリア
  29.     xor    si,si
  30.     xor    di,di
  31.  
  32.     mov    ah,2ch
  33.     int    21h
  34.     mov    bh,dh
  35. @@:    int    21h
  36.     cmp    bh,dh    ;秒が変わるのを待つ
  37.     je    @b
  38.  
  39.     mov    bh,dh
  40. @@:    mov    ah,0bh
  41.     int    21h
  42.     or    al,al
  43.     jnz    start    ;キーを押されるとやり直し
  44.  
  45.     mov    ah,2ch
  46.     int    21h
  47.     add    si,1
  48.     adc    di,0
  49.     cmp    bh,dh    ;秒が変わるまで繰り返す
  50.     je    @b
  51.  
  52.     mov    ax,si
  53.     mov    dx,di
  54.     ret
  55. ST_getcallpskey ENDP
  56.     END
  57.